<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Homework</title>
</head>
<body>
<!--
Обязательное задание.

Для кода вставленного в теге script необходимо дать комментарии, почему мы
получаем такой результат (в свободной форме).

Подсказка. Чтобы лучше разобраться возьмите этот код и запустите в отладчике в
браузере со включенными точками остановки.
-->
<script>
  "use strict";

  let a = 1, b = 1, c, d;

  /*
  Потому что перемнаая а равна 1  и оператор ++ дает плюс 1 к переменной до того 
  как она будет присвоена переменной c 
   */
  c = ++a;
  console.log(c); // c=2

  /*
  Потому что переменная b равна единице, а оператор ++, стоящий после переменной, 
  дает плюс 1, но после того, как занчение b было присвоено пременной d . 
   */
  d = b++;
  console.log(d); // d=1, b=2

  /*
  Потому что переменная a уже равна 2 после операций произведенных выше.
  А оператор ++ снова дает плюс 1 до присвоения значения переменной  
  */
  c = 2 + ++a;
  console.log(c); // c=5, a=3

  /*
  Потмоу что пременная b уже равна двум, так что после операций выше.
  Но здесь оператор ++ стоит после переменной, так что сначала 
  мы складваем 2 плюс значение b до прибавления единицы. 
  */
  d = 2 + b++;
  console.log(d); // d=4

  console.log(a); // a = 3
  console.log(b); //b=3 
</script>
</body>
</html>